package com.itheima;

import com.itheima.bean.Bus;
import com.itheima.bean.Car;
import com.itheima.bean.MotoVehicle;
import com.itheima.service.RentServiceImp;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;

/**
 * 项目实现的步骤：
 * 1. 按照面向对象的思想，先把对应的bean中的类实现
 * 2. 主方法中把车的数据先进行定义  TODO1,TODO2
 * 3. 完善service中RentServiceImp中租车和还车的功能。
 */
public class RentSys {
    //TODO 第二部分 : 定义存储所有车的容器
    /*
        HashMap<String , HashMap<String , ArrayList<String>>> :
        HashMap的键为 :  String代表的是车的类别(轿车||客车)
        HashMap的值为 :  HashMap<String , ArrayList<String> 此类别车的容器

        HashMap<String , ArrayList<String>
        HashMap的键为 : String品牌
        HashMap的值为 : ArrayList<String> 此品牌的所有车
     */
    public static HashMap<String, HashMap<String, ArrayList<MotoVehicle>>> datas = new HashMap<>();
    // 以租借的车容器
    public static ArrayList<MotoVehicle> rentVehicles = new ArrayList<>();

    static {
        //TODO 第三部分 : 初始化数据
        // 创建存储轿车容器
        HashMap<String, ArrayList<MotoVehicle>> carBrand = new HashMap<>();
        ArrayList<MotoVehicle> daZong = new ArrayList<>();
        daZong.add(new Car("大众", "200", "赣BTK001", "探歌280T"));
        daZong.add(new Car("大众", "300", "赣BTK002", "探歌140T"));
        carBrand.put("大众", daZong);
        ArrayList<MotoVehicle> benChi = new ArrayList<>();
        benChi.add(new Car("奔驰", "400", "沪BTK111", "2021 c 200"));
        benChi.add(new Car("奔驰", "500", "沪BTK222", "2021 c 260"));
        carBrand.put("奔驰", benChi);

        // 创建存储客车的容器
        HashMap<String, ArrayList<MotoVehicle>> busBrand = new HashMap<>();
        ArrayList<MotoVehicle> shenWo = new ArrayList<>();
        shenWo.add(new Bus("申沃", "1500", "沪BTK666", 50));
        shenWo.add(new Bus("申沃", "2500", "沪BTK888", 60));
        busBrand.put("申沃", shenWo);

        datas.put("轿车", carBrand);
        datas.put("客车", busBrand);
    }


    public static void main(String[] args) {
        System.out.println("********************欢迎来到黑马租车***********************");
        Scanner sc = new Scanner(System.in);
        //创建业务类的对象
        RentServiceImp rentServiceImp = new RentServiceImp();
        while (true) {
            System.out.println("请选择您的服务：1）租车服务 2）还车服务  3）退出系统");
            String choose = sc.nextLine();
            switch (choose) {
                case "1":
                    //租车
                    rentServiceImp.rentFlower();
                    break;
                case "2":
                    //还车
                    rentServiceImp.returnFlower();
                    break;
                case "3":
                    System.out.println("欢迎下次光临！！");
                    System.exit(0);
                    break;
                default:
                    System.out.println("功能不存在，请重新输入！");
            }
        }
    }
}
